home *** CD-ROM | disk | FTP | other *** search
Wrap
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" > <stack> <name>in.6</name> <id>-1</id> <cardCount>4</cardCount> <cardID>8637</cardID> <listID>3032</listID> <cantModify><false /></cantModify> <cantDelete><false /></cantDelete> <cantAbort><false /></cantAbort> <cardSize> <width>512</width> <height>342</height> </cardSize> <script>∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ Script info for this stack. ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ Size of script: 28656 chars. 11/17/92       w/header: 29270 chars. HANDLERS: closeStack,displayLegalNotice,doHelp,TEXWindowClosing,getINITs, -- getMachInfo getMailMethod,goBackButton,goHome,mouseUpInPicture,multiCheckMenu, -- notImplemented,openStack,singleCheckMenu,splashScreen,triangleButton FUNCTIONS: auxVersion,bugSent,checkMark,complainAboutPersonalInfo,maxProblemSummary, -- personalInfoCheck,secretCode,stripNonDials,text,textFileVersion ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ •••••••••••••• -- Apple Bug Reporter -- Begun 7/28/91 by Barry Langdon-Lassagne -- version 1.0b1 10/11/91 -- version 1.0b2 11/22/91 -- version 1.0b8 11/03/92 by bRYgUY K. Carter -- version 1.0b9 08/17/93 by Barry Langdon-Lassagne -- version 1.5a2 10/31/93 by Barry Langdon-Lassagne -- ©Copyright 1991-93 by Apple Computer, Inc. -- All Rights Reserved. --∆ Text to be localised indicated by “∆” (option-j) -- When localising this stack, do a search for ∆ in -- All the scripts, especially the Background and -- Stack scripts. -- XCMDs/XFCNs USED BY THIS STACK: -- HpopupMenu() -- Author: Guy de Picciotto. -- FilesInSys() -- Author: Jay Hodgon, Apple Computer -- FileVersion() -- Author: Jay Hodgon, Apple Computer -- XGestalt() -- DropInOB -- Author: Rick Eames, Apple Computer -- AUXisRunning() -- Authors: Anup Murarka,Eric Carlson Apple Computer -- MachineName() -- Author: Barry Langdon-Lassagne, Apple Computer -- ModalDialog() -- Author: Kevin Calhoun ( v.1.0.3 ) -- ReadStrResource() -- Author: Barry Langdon-Lassagne, Apple Computer -- TEXWindow() -- Author: ??? •••••••••••••• function auxVersion -- this reflects the version of software for which -- the outside developers (or whomever) are reporting bugs -- This information is automatically entered in the Miscellaneous -- field of the Configuration cards return "" -- put "ElectroGlide" or "A/UX 3.0.2" or something end auxVersion function textFileVersion return "Text File Version: 1005 (Apple Bug Reporter Stack)" end textFileVersion function maxProblemSummary -- The maximum number of characters allowed in the Problem Summary -- Note: change this number in the Help text as well return 80 end maxProblemSummary --------------------------------------------------------------------- -- ∆ The majority of text strings appear here -- so that this stack can more easily be localised for other countries -- When you need a piece of text, call this function. For instance, -- to tell the user their problem report has already been sent, write -- a script that says: -- answer text("alreadySent") with text("OK") -- -- Then, when this stack is localised, all that needs to be done is change the -- text as it appears here function text which return ReadStrResource(which) -- else -- return "Error - Text to place here could not be located!" -- end if end text ----------------------------------------------------------------------- on openStack global oldUserLevel, oldtextArrows, oldBlindTyping, cqfCustom if the screenRect = "0,0,512,342" then -- Macintosh SE size monitor hide menubar end if -- Check to see if they have a recent enough HyperCard if the version < 2.0 then answer text("wrongVersion") doMenu "Quit HyperCard" else -- remember system state, set it the way we want it put the userLevel into oldUserLevel set the userlevel to 5 get textArrows put it into oldtextArrows set textArrows to TRUE get blindTyping put it into oldBlindTyping set blindTyping to FALSE put FALSE into cqfCustom -- TRUE if this is the CQF Version 8/16/94 -- if bg field "Bugs Reported" of card "Cover Card" of bg "Bug List" contains "•" then -- answer text("whatToDoAboutUnsentBugs")¬ -- with text("Nothing") or text("View List") or text("Send Them") -- if it is text("View List") then -- go to card "Index Card" -- else if it is text("Send Them") then -- go to card "Index Card" -- send mouseup to bg button "Send All Unsent Reports" -- end if -- end if end if -- version check pass openStack end openStack on mouseUpInPicture -- answer word 2 of the params put word 2 of the params into x close window the value of x end mouseUpInPicture on closeStack global oldUserLevel,oldtextArrows,oldBlindTyping show menubar set the userLevel to oldUserLevel set textArrows to oldtextArrows set blindTyping to oldBlindTyping pass closeStack end closeStack on goBackButton what answer "Go Back Button is no longer needed" && what -- if what is "show" then -- set the visible of bg button "Go Back" of cd "Cover Card" to TRUE -- set the visible of bg field "Go Back Title" of cd "Cover Card" to TRUE -- else if what is "hide" then -- set the visible of bg button "Go Back" of cd "Cover Card" to FALSE -- set the visible of bg field "Go Back Title" of cd "Cover Card" to FALSE -- end if end goBackButton function personalInfoCheck if (line 3 of bg field "Personal Info" of cd "Cover Card" is empty or¬ -- first name line 4 of bg field "Personal Info" of cd "Cover Card" is empty or¬ -- last name line 5 of bg field "Personal Info" of cd "Cover Card" is empty or¬ -- phone line 11 of bg field "Personal Info" of cd "Cover Card" is empty or¬ -- e-mail address line 12 of bg field "Personal Info" of cd "Cover Card" is empty) then -- country put text("NeedMorePersonalInfo2") into error else if line 16 of bg field "Personal Info" of cd "Cover Card" is "on" and¬ (text("Server Name") is empty or text("Server Zone Name") is empty or¬ text("Server Volume Name") is empty) then put text("ServerNotConfigured2") into error else put "NoErr" into error end if return error end personalInfoCheck function complainAboutPersonalInfo -- global whereWeCameFrom, lastBugModified -- used in script troubleshootBug -- and in button script for send all answer text("needMorePersonalInfo") with text("Cancel") or text("OK") if it is text("OK") then -- put empty into whereWeCameFrom -- put the id of this card into lastBugModified send personalInfo to cd 1 -- handler is in bg script BL-L 7/31/93 return text("OK") else -- Cancel return text("Cancel") end if end complainAboutPersonalInfo on getMachInfo --gets all of the Machine info collected by the Xthings. global machDes lock screen put empty into machDes go bg "dataworld" get line 10 of background field "This Machine" put the first word in line it of background field "gestaltMachineType" ¬ & return after machDes get line 3 of background field "This Machine" put the first word in line it of background field "gestaltKeyboardType" ¬ & return after machDes get line 6 of background field "This Machine" put "RAM=" & it & return after machDes get line 4 of background field "This Machine" put "Logical RAM=" & it & return after machDes get line 9 of background field "This Machine" if it = 0 then put "Virtual Memory turned OFF" & return after machDes get line 1 of background field "This Machine" if it = 0 then put "32-bit addressing NOT enabled" & return after machDes get line 2 of background field "This Machine" if it = 0 then put "NO FPU" into the seventh line of background field "Output" else put "FPU Type =" & the first word of line (it+1) of background field "gestaltFPUType"¬ after machDes get line 11 of background field "This Machine" put "ROM Version=" & it & return after machDes put "............................................................................" ¬ after machDes put machdes after bg field "Output" go bg "entry" unlock screen end GetMachInfo function stripNonDials theNumber -- ∆ remove all "non phone" characters repeat with count = the length of theNumber down to 1 if char count of theNumber is not in "0123456789" then delete char count of theNumber end repeat return theNumber end stripNonDials function secretCode x global cqfCustom put FALSE into doContinue put "" into stackType -- put "" into stackType if phone # needed for bug number; put "Special" if phone # is not needed if stackType is not "Special" then if line 5 of bg field "Personal Info" of card "Cover Card" is "" then return "Error" else -- there is a phone number already put TRUE into doContinue end if else -- Special, phone number unnecessary put TRUE into doContinue end if -- stackType if doContinue is TRUE then put stripNonDials(line 5 of bg field "Personal Info" of card "Cover Card") into phoneCode -- put bg field "Site Number" of cd "Cover Card" into phoneCode -- Old CQF method, leave commented out put the time into temp convert temp to seconds put char 3 to 10 of temp into theSecs put the number of chars of phoneCode into pn if pn < 4 then put "0000" before phoneCode put the number of chars of phoneCode into pn end if -- put the number of cards of bg "Bug Report" into bugNumber -- put bugNumber - 1 into bugNumber get cd field "Last Bug Number" of card "Cover Card" put it + 1 into cd field "Last Bug Number" of card "Cover Card" put it + 1 into bugNumber put "000" before bugNumber put the number of chars of bugNumber into b put char b-2 to b of bugNumber into bugNumber put char pn-3 to pn of phoneCode & "." & bugNumber into secretNumber -- put char 1 to pn of phoneCode & "." & bugNumber into secretNumber -- Old CQF method, leave commented out if cqfCustom then put "CQF " before secretNumber -- use this for CQF end if -- cqfCustom return secretNumber end if end secretCode on goHome if the optionKey is not down then domenu "compact stack" end if answer text("whereToGo") with text("GoHome") or text("Quit") or text("Cancel") if it is text("GoHome") then visual effect zoom in displayLegalNotice go home else if it is text("Quit") then displayLegalNotice doMenu "Quit HyperCard" end if end goHome on displayLegalNotice set the cursor to busy set the lockScreen to TRUE set the cursor to busy go first set the cursor to busy set the visible of card field "Legal Notice" to TRUE set the cursor to busy set the lockScreen to FALSE repeat with i= 1 to 5 wait 1 secs -- wait 5 seconds if the mouse is down then exit repeat set the cursor to busy end repeat set the cursor to busy set the visible of card field "Legal Notice" to FALSE set the cursor to busy end displayLegalNotice on splashScreen -- answer text("stackName") & return & text("stackAuthor") &¬ -- return & text("copyRightNotice") with text("Help") or text("OK") put ModalDialog("About Box",dialogInput,cardCenter) into aResult if line 1 of aResult is not empty then -- they want Help return TRUE else return FALSE end if end splashScreen on doHelp -- note: the help text is located in an invisible field on the first card -- called "Help Text" (actually it's a background field) -- to access it, execute the following in the message box: -- show bg field "Help Text" put text("HelpWindowName") into helpWindow if there is a window helpWindow then send "select" to window helpWindow exit doHelp end if put (the loc of window (the short name of this stack)) into stackLeftTop put (the left of bg field "Help Text" of cd 1) + (item 1 of stackLeftTop) into theLeft put (the top of bg field "Help Text" of cd 1) + (item 2 of stackLeftTop) into theTop put (the right of bg field "Help Text" of cd 1) + (item 1 of stackLeftTop)into theRight put (the bottom of bg field "Help Text" of cd 1) + (item 2 of stackLeftTop)into theBottom put "Geneva" into theFont put 10 into theFontSize put 13 into theLineHeight put -1 into theLineLength put bg fld "Help Text" of cd 1 into theText TEXWindow helpWindow,theText,theLeft,theTop,theRight,theBottom,theFont,theFontSize,theLineHeight,theLineLength get the result if it is not empty then answer it end if end doHelp on TEXWindowClosing theWindowName,textIsDirty -- required by XCMD TEXWindow -- BL-L 11/1/93 adds ability to save changes from a floating text window (from XCMD TEXWindow) -- Don't allow changes to Help text. (To change help text, directly modify the -- bg field "Help Text" on the cover card). --put the globalRect of window theWindowName into theRect if theWindowName is "Notes" and textIsDirty then put the text of window theWindowName into bg fld theWindowName of cd "Cover Card" end if return TRUE end TEXWindowClosing on saveTEXWindowInfo theWindowName,textIsDirty -- BL-L 11/1/93 adds ability to save changes from a floating text window (from XCMD TEXWindow) -- Don't allow changes to Help text. (To change help text, directly modify the -- bg field "Help Text" on the cover card). --put the globalRect of window theWindowName into theRect -- set lockText of bg fld theWindowName to false end saveTEXWindowInfo function checkMark what if what is "no space" then return "!" else return " !" end if end checkMark function bugSent put FALSE into stat if the short name of this bg is "Bug Report" then if bg field "Sent" is not empty and¬ bg field "Sent" is not text("neversent") and¬ bg field "Sent" is not text("newBug") and¬ bg field "Sent" is not text("unsent") then put TRUE into stat -- it's been sent else put FALSE into stat -- bug has not been sent yet end if end if return stat end bugSent on singleCheckMenu listType -- This script is used to activate the popup menus -- I assume NO SUBMENUS for this script -- It is for popup menus that have only one item checked at a time -- need a bg field called listType List that has all the menuitems -- (don't forget to modify the bg script to show and hide this new List field) -- need a bg field called listType to store the menu result -- Example: on the Problem Report cards, there is a popup menu for -- The severity of a bug, called "Priority" -- Here is what needs to be created: -- 1) a button called "Priority " (that's four spaces after) -- the script for the "Priority " button should read: -- on mouseDown -- singleCheckMenu "Priority" -- end mouseDown -- on mouseUp -- set the hilight of me to FALSE -- end mouseUp -- 2) a button with a down arrow, overlaying the four spaces -- the script for the down arrow button should send -- mouseups and mousedowns to the "Priority " button -- 3) a bg field called "Priority" where the result will go -- 4) a bg field (invisible), called "Priority List" -- listing all proper priorities -- 5) Modifications to the bg script to show and hide the -- "Priority List" bg field (see the other scripts there) set cursor to busy put listType & " List" into listField if the optionKey is down and the shiftKey is down then set the visible of bg field listField to NOT visible of bg field listField exit singleCheckMenu else if bugSent() then answer text("beenSent") exit singleCheckMenu end if set the hilight of the target to TRUE put bg field listField into itemList -- add checkmark to itemList -- debug checkpoint -- See if there's a menuitem to put a checkmark next to... set cursor to busy put the number of lines of itemList into endLine if bg field listType ≠ EMPTY then if bg field listType is in itemList then -- Find the item in the list put offset(bg field listType,itemList) into startCharLoc if startCharLoc > 0 then -- we found a match! -- check to see if we really found it (see if item has commas or carriage returns on both sides of it) put char (startCharLoc - 1) of itemList into prevChar put char (startCharLoc + the length of bg field listType) of itemList into followChar if (prevChar is "," or prevChar is return) and (followChar is "," or followChar is return) then put checkMark() after char (startCharLoc + the length of bg field listType - 1) of itemList else -- gotta look for a match the hard way -- search through itemList for the correct match repeat with aLine=1 to endLine set cursor to busy if bg field listType is in line aLine of itemList then if the number of items of line aLine of itemList > 1 then -- Submenus repeat with j=1 to the number of items of line aLine of itemList set cursor to busy if item j of line aLine of itemList is bg field listType then put checkMark() after item j of line aLine of itemList exit repeat -- jump out to save time end if end repeat if j = the number of items of line aLine of itemList then -- check "Other…" put checkMark() after line endLine of itemList end if -- aline=endline exit repeat -- get out of the bigger repeat, since we found the item else -- there are no submenus if bg field listType is line aLine of itemList then put checkMark() after line aLine of itemList exit repeat -- get out of the bigger repeat, since we found the item end if -- field is line aLine of itemList end if -- number of items > 1 end if -- bg field listType is in line aLine... end repeat -- aLine if aline = endline then -- check "Other…" put checkMark() after line endLine of itemList end if -- aline=endline end if -- prevChar & followChar are commas or returns end if -- startChar > 0 else -- it's not in the list, check "Other…" put checkMark() after line endLine of itemList end if -- bg field listType is in itemList end if -- bg field listType ≠ EMPTY -- display popupmenu set the cursor to arrow put textheight of the target into TheTextHeight put HPopUpMenu(itemList,0, ¬ (the bottom of the target), ¬ --vert coords¬ the left of the target + 1)¬ --horiz coords¬ into ChosenLine set cursor to watch if ChosenLine is not 0 then put item 1 of ChosenLine into lineno put item 2 of ChosenLine into itemno put line lineno of bg field listField into templine put item itemno of templine into bg field listType if templine is "Other…" then ask text("askEnterOther") & listType if it is not empty then put it into bg field listType end if end if end if end singleCheckMenu on multiCheckMenu listType -- This script is used to make the popup menus come alive. -- I assume NO SUBMENUS for this script. -- It is for popup menus that can have more than one item checked at a time. -- If an item is chosen that is already checked, it will be deleted from the -- list generated. The generated list goes into bg field listType. -- -- need a bg field called listType List that has all the menuitems -- (don't forget to modify the bg script to show and hide this new List field) -- need a bg field called listType to store the menu result -- Example: on the Problem Report cards, there is a popup menu for -- The severity of a bug, called "Priority" -- Here is what needs to be created: -- 1) a button called "Priority " (that's four spaces after) -- the script for the "Priority " button should read: -- on mouseDown -- singleCheckMenu "Priority" -- end mouseDown -- on mouseUp -- set the hilight of me to FALSE -- end mouseUp -- 2) a button with a down arrow, overlaying the four spaces -- the script for the down arrow button should send -- mouseups and mousedowns to the "Priority " button -- 3) a bg field called "Priority" where the result will go -- 4) a bg field (invisible), called "Priority List" -- listing all proper priorities -- 5) Modifications to the bg script to show and hide the -- "Priority List" bg field (see the other scripts there) set cursor to watch put listType & " List" into listField if the optionKey is down and the shiftKey is down then set the visible of bg field listField to NOT visible of bg field listField exit multiCheckMenu else if bugSent() then answer text("beenSent") exit multiCheckMenu end if put bg field listField into itemList set the hilight of the target to TRUE -- add checkmarks to itemList put FALSE into itIsOther -- initialize variable if bg field listType is not "" then put the number of items of bg field listType into listItems put the number of lines of itemList into endLine repeat with j= 1 to listItems repeat with i=1 to endLine put line i of itemList into tempa put item j of bg field listType into tempb if line i of itemList is item j of bg field listType then put checkMark() after line i of itemList exit repeat -- inner repeat no longer necessary end if end repeat -- i if i is endLine then -- then it's “Other…” put TRUE into itIsOther end if end repeat -- j if itIsOther then -- mark the Other… menuitem put checkMark() after line endLine of itemList end if end if -- display popupmenu set cursor to arrow put textheight of the target into TheTextHeight put HPopUpMenu(itemList,0, ¬ (the bottom of the target), ¬ --vert coords¬ the left of the target + 1)¬ --horiz coords¬ into ChosenLine if ChosenLine is not 0 then -- anything was chosen if bugSent() is not TRUE then put item 1 of ChosenLine into lineno put item 2 of ChosenLine into itemno put line lineno of bg field listField into templine set cursor to watch if templine is not "Other…" and the last word of line lineno of itemList is checkMark("no space") then -- delete the item rather than insert it repeat with i=1 to the number of items of bg field listType if item i of bg field listType is templine then delete item i of bg field listType exit repeat end if end repeat else if templine is "Other…" then ask text("askEnterOther") & listType if it is not empty then put it into item itemno of templine -- so that following if will parse correctly else -- the user hit "Cancel" put "" into item itemno of templine end if end if if bg field listType is "" then put item itemno of templine into bg field listType else if item itemno of templine is not "" then put "," & item itemno of templine after bg field listType end if end if end if -- delete vs insert else -- shouldn't be modifying this card answer text("beenSent") end if -- bugSent()… end if -- anything was chosen end multiCheckMenu on getINITs -- Thanks to Jay Hodgon for these nifty XFCNs. put FilesInSys("INIT") into INITList put FilesInSys("cdev") into CDEVList --RDEV's are another type - printer documents set cursor to busy put "INITS: " into bg field "other stuff" repeat with index = 1 to number of lines of InitList put line index of InitList & ", " after bg field "other stuff" end repeat delete last char of bg field "other stuff" -- the comma delete last char of bg field "other stuff" -- the comma put return & "CDEVS: " after bg field "other stuff" repeat with index = 1 to number of lines of CDEVList put line index of CDEVList & ", " after bg field "other stuff" end repeat delete last char of bg field "other stuff" -- the comma delete last char of bg field "other stuff" -- the comma -- DEBUGGER VERSION put return & "MacsBug:" && FileVersion("dbgr","mxbg") after bg field "other stuff" -- MACSBUG end getINITs on getMailMethod what global cqfCustom -- used by the buttons that send bugs by mail -- this is here because when sending bugs individually, we want -- to be asked which method each time, but when sending as a group -- we only want to be asked once global mailMethod, mailMethodTemp, ccAddress, ccAddressFlag if line 16 of bg field "Personal Info" of cd "Cover Card" is "on" then put "Server" into mailMethod exit getMailMethod end if put "None" into mailMethod if mailMethodTemp is empty then put text("Default Mail Type") into mailMethodTemp end if put bg field "ccAddress" of card 1 into ccAddress if what is "many" then -- Make text appropriate for sending many bugs put text("placeInOutBasket2") into line 10 of dialogInput put text("saveBugTo2") into line 9 of dialogInput put text("bugSentTo2") into line 8 of dialogInput else -- only sending one bug -- Make text appropriate for sending a single bug put text("placeInOutBasket") into line 10 of dialogInput put text("saveBugTo") into line 9 of dialogInput put text("bugSentTo") into line 8 of dialogInput end if -- BL-L 10/1/93 added custom dialog here if mailMethodTemp is "Text File" then put "on" into line 4 of dialogInput -- highlight "Text File" button else -- AppleLink - the default put "on" into line 3 of dialogInput -- highlight "AppleLink" button end if -- mailMethodTemp if ccAddress is empty and text("APPLELINK CC") is not empty then put text("APPLELINK CC") into ccAddress -- 1.6d12 BL-L 5/8/94 Use default from resource put TRUE into ccAddressFlag end if -- ccAddress empty if ccAddress is not empty then put ccAddress into line 6 of dialogInput -- show ccAddress, if there is one if ccAddressFlag is empty then if cqfCustom then put TRUE into ccAddressFlag else put FALSE into ccAddressFlag end if -- cqfCustom end if -- ccAddressFlag if ccAddressFlag then put "on" into line 5 of dialogInput -- highlight "Send a Copy to" checkbox if applicable end if end if put text("APPLELINK") into line 7 of dialogInput -- XFCN for custom Modal Dialog put ModalDialog("Send Bug",dialogInput,cardCenter) into dialogOutput if line 1 of dialogOutput is not text("Cancel") then if line 3 of dialogOutput is "on" then -- remember button settings for next time put "AppleLink" into mailMethodTemp else -- Text File button was selected put "Text File" into mailMethodTemp end if if line 5 of dialogOutput is "on" then -- sending to a second address put TRUE into ccAddressFlag -- remember whether they're sending to a second address else put FALSE into ccAddressFlag end if if ccAddressFlag then -- see if they want bug to go to a second address if line 4 of dialogOutput is "on" then -- hey! they're sending to a text file answer text("Send as Text Error 1") & line 6 of dialogOutput¬ & text("Send as Text Error 2") with text("Cancel") or text("Continue") if it is not "Continue" then put "None" into mailMethod exit getMailMethod end if -- not Continue end if -- text file error if line 6 of dialogOutput is empty then -- hey! They didn't give an address answer text("No Forward") with text("Cancel") or text("Continue") if it is text("Cancel") then put "None" into mailMethod exit getMailMethod end if end if -- line 6 put line 6 of dialogOutput into ccAddress put ccAddress into bg field "ccAddress" of card 1 end if -- ccAddressFlag if line 3 of dialogOutput is "on" then -- sending to AppleLink put "AppleLink" into mailMethod else -- Text File (if line 4 of dialogOutput is "on" then) could put alternate methods here put "Text File" into mailMethod end if else put "None" into mailMethod -- didn't send it end if -- it is "OK" end getMailMethod on notImplemented tWhat -- beep 2 answer "This feature is not implemented as of" && the date & return &¬ "--•" && tWhat end notImplemented on triangleButton tMessage, tObjectType, tClickLoc --• Added by bRYgUY K. Carter - 11/17/92 --• A more generic script for the "Triangle" menu buttons --• Figures out which button is "behind" it and send the appropriate message --• to that button set cursor to watch do "put the number of" && tObjectType & "s into tNumObjects" repeat with B = 1 to tNumObjects do "put the short name of" && tObjectType && B && "into tObjectName" if tObjectName contains "Triangle" then next repeat do "put the rect of" && tObjectType && B && "into tObjectRect" if tClickLoc is within tObjectRect then do "send" && quote & tMessage & quote && "to" && tObjectType && B exit triangleButton end if end repeat end triangleButton on customDelete which -- formerly configDelete & myDelete BL-L 8/16/94 if which is empty then answer text("deleteCard") with text("Cancel") or text("OK") if it is "OK" then set the cantDelete of this card to FALSE doMenu "Delete Card" end if else if which is "no message" then set the cantDelete of this card to FALSE doMenu "Delete Card" end if end customDelete </script> <background id="3986" file="background_3986.xml" name="Bug Report" /> <background id="4715" file="background_4715.xml" name="Configuration" /> <background id="8289" file="background_8289.xml" name="Bug List" /> <card id="8637" file="card_8637.xml" marked="false" name="Cover Card" owner="8289" /> <card id="6151" file="card_6151.xml" marked="false" name="Configuration Title Card" owner="4715" /> <card id="2102" file="card_2102.xml" marked="false" name="" owner="4715" /> <card id="3802" file="card_3802.xml" marked="false" name="Sample Problem Description" owner="3986" /> </stack>